package jpack.sz.parser.l;

import java.util.List;

import jpack.sz.parser.SzResponseEntity;

/**
 * @author Denis Migol
 * 
 */
public class LSzResponseEntity extends SzResponseEntity {

	private String path;
	private String type;
	private String solid;
	// private int blocks;
	private String multivolume;
	private int volumes;
	private List<Block> blocks;
	private List<LongBlock> longBlocks;

	/**
	 * 
	 * @author Denis Migol
	 * 
	 */
	public static class Block {
		private String date;
		private String time;
		private String attr;
		private int size;
		private int compressed;
		private String name;

		/**
		 * @param date
		 *            the date to set
		 */
		public void setDate(final String date) {
			this.date = date;
		}

		/**
		 * @return the date
		 */
		public String getDate() {
			return date;
		}

		/**
		 * @param time
		 *            the time to set
		 */
		public void setTime(final String time) {
			this.time = time;
		}

		/**
		 * @return the time
		 */
		public String getTime() {
			return time;
		}

		/**
		 * @param attr
		 *            the attr to set
		 */
		public void setAttr(final String attr) {
			this.attr = attr;
		}

		/**
		 * @return the attr
		 */
		public String getAttr() {
			return attr;
		}

		/**
		 * @param size
		 *            the size to set
		 */
		public void setSize(final int size) {
			this.size = size;
		}

		/**
		 * @return the size
		 */
		public int getSize() {
			return size;
		}

		/**
		 * @param compressed
		 *            the compressed to set
		 */
		public void setCompressed(final int compressed) {
			this.compressed = compressed;
		}

		/**
		 * @return the compressed
		 */
		public int getCompressed() {
			return compressed;
		}

		/**
		 * @param name
		 *            the name to set
		 */
		public void setName(final String name) {
			this.name = name;
		}

		/**
		 * @return the name
		 */
		public String getName() {
			return name;
		}
	}

	/**
	 * 
	 * @author Denis Migol
	 * 
	 */
	public static class LongBlock {
		private String path;
		private String folder;
		private int size;
		private int packedSize;
		private String modified;
		private String created;
		private String accessed;
		private String attributes;
		private String encrypted;
		private String solid;
		private String commented;
		private String splitBefore;
		private String splitAfter;
		private String crc;
		private String hostOS;
		private String method;
		private String version;

		/**
		 * @param path
		 *            the path to set
		 */
		public void setPath(final String path) {
			this.path = path;
		}

		/**
		 * @return the path
		 */
		public String getPath() {
			return path;
		}

		/**
		 * @param folder
		 *            the folder to set
		 */
		public void setFolder(final String folder) {
			this.folder = folder;
		}

		/**
		 * @return the folder
		 */
		public String getFolder() {
			return folder;
		}

		/**
		 * @param size
		 *            the size to set
		 */
		public void setSize(final int size) {
			this.size = size;
		}

		/**
		 * @return the size
		 */
		public int getSize() {
			return size;
		}

		/**
		 * @param packedSize
		 *            the packedSize to set
		 */
		public void setPackedSize(final int packedSize) {
			this.packedSize = packedSize;
		}

		/**
		 * @return the packedSize
		 */
		public int getPackedSize() {
			return packedSize;
		}

		/**
		 * @param modified
		 *            the modified to set
		 */
		public void setModified(final String modified) {
			this.modified = modified;
		}

		/**
		 * @return the modified
		 */
		public String getModified() {
			return modified;
		}

		/**
		 * @param created
		 *            the created to set
		 */
		public void setCreated(final String created) {
			this.created = created;
		}

		/**
		 * @return the created
		 */
		public String getCreated() {
			return created;
		}

		/**
		 * @param accessed
		 *            the accessed to set
		 */
		public void setAccessed(final String accessed) {
			this.accessed = accessed;
		}

		/**
		 * @return the accessed
		 */
		public String getAccessed() {
			return accessed;
		}

		/**
		 * @param attributes
		 *            the attributes to set
		 */
		public void setAttributes(final String attributes) {
			this.attributes = attributes;
		}

		/**
		 * @return the attributes
		 */
		public String getAttributes() {
			return attributes;
		}

		/**
		 * @param encrypted
		 *            the encrypted to set
		 */
		public void setEncrypted(final String encrypted) {
			this.encrypted = encrypted;
		}

		/**
		 * @return the encrypted
		 */
		public String getEncrypted() {
			return encrypted;
		}

		/**
		 * @param solid
		 *            the solid to set
		 */
		public void setSolid(final String solid) {
			this.solid = solid;
		}

		/**
		 * @return the solid
		 */
		public String getSolid() {
			return solid;
		}

		/**
		 * @param commented
		 *            the commented to set
		 */
		public void setCommented(final String commented) {
			this.commented = commented;
		}

		/**
		 * @return the commented
		 */
		public String getCommented() {
			return commented;
		}

		/**
		 * @param splitBefore
		 *            the splitBefore to set
		 */
		public void setSplitBefore(final String splitBefore) {
			this.splitBefore = splitBefore;
		}

		/**
		 * @return the splitBefore
		 */
		public String getSplitBefore() {
			return splitBefore;
		}

		/**
		 * @param splitAfter
		 *            the splitAfter to set
		 */
		public void setSplitAfter(final String splitAfter) {
			this.splitAfter = splitAfter;
		}

		/**
		 * @return the splitAfter
		 */
		public String getSplitAfter() {
			return splitAfter;
		}

		/**
		 * @param crc
		 *            the crc to set
		 */
		public void setCrc(final String crc) {
			this.crc = crc;
		}

		/**
		 * @return the crc
		 */
		public String getCrc() {
			return crc;
		}

		/**
		 * @param hostOS
		 *            the hostOS to set
		 */
		public void setHostOS(final String hostOS) {
			this.hostOS = hostOS;
		}

		/**
		 * @return the hostOS
		 */
		public String getHostOS() {
			return hostOS;
		}

		/**
		 * @param method
		 *            the method to set
		 */
		public void setMethod(final String method) {
			this.method = method;
		}

		/**
		 * @return the method
		 */
		public String getMethod() {
			return method;
		}

		/**
		 * @param version
		 *            the version to set
		 */
		public void setVersion(final String version) {
			this.version = version;
		}

		/**
		 * @return the version
		 */
		public String getVersion() {
			return version;
		}
	}

	/**
	 * @param path
	 *            the path to set
	 */
	public void setPath(final String path) {
		this.path = path;
	}

	/**
	 * @return the path
	 */
	public String getPath() {
		return path;
	}

	/**
	 * @param type
	 *            the type to set
	 */
	public void setType(final String type) {
		this.type = type;
	}

	/**
	 * @return the type
	 */
	public String getType() {
		return type;
	}

	/**
	 * @param solid
	 *            the solid to set
	 */
	public void setSolid(final String solid) {
		this.solid = solid;
	}

	/**
	 * @return the solid
	 */
	public String getSolid() {
		return solid;
	}

	/**
	 * @param multivolume
	 *            the multivolume to set
	 */
	public void setMultivolume(final String multivolume) {
		this.multivolume = multivolume;
	}

	/**
	 * @return the multivolume
	 */
	public String getMultivolume() {
		return multivolume;
	}

	/**
	 * @param volumes
	 *            the volumes to set
	 */
	public void setVolumes(final int volumes) {
		this.volumes = volumes;
	}

	/**
	 * @return the volumes
	 */
	public int getVolumes() {
		return volumes;
	}

	/**
	 * @param blocks
	 *            the blocks to set
	 */
	public void setBlocks(final List<Block> blocks) {
		this.blocks = blocks;
	}

	/**
	 * @return the blocks
	 */
	public List<Block> getBlocks() {
		return blocks;
	}

	/**
	 * @param longBlocks
	 *            the longBlocks to set
	 */
	public void setLongBlocks(final List<LongBlock> longBlocks) {
		this.longBlocks = longBlocks;
	}

	/**
	 * @return the longBlocks
	 */
	public List<LongBlock> getLongBlocks() {
		return longBlocks;
	}
}
